<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
    <TITLE>JTable Framework for ObjectSources</TITLE>
</HEAD>

<BODY BGCOLOR="white">

    <H1><CENTER>JTable Framework for ObjectSources</CENTER></H1><p>

    This package defines classes that allow you to easily define robust JTables
    which are backed by an ObjectSource (rather than a standard TableModel).<p>

    When used with CachedObjectSource, these classes provide a powerful framework
    for viewing large sets of data in a JTable.<p>

    <code>ObjectSourceTableModel</code> is a class which returns objects defined
    provided your ObjectSource. You typically will not use this TableModel directly.
    Instead, ObjectSourceJTable will create one for you. This class represents the
    rows of the TableModel, not the column values.<p>

    <code>ObjectSourceTableColumn</code>Is the base TableColumn class used by
    all ObjectSource-based JTables. It allows each column to be defined in terms
    of its rendering and editing capabilities. In addition, only a sub-class of
    ObjectSourceTableColumn "knows" how to derive a column's value from an object
    (row) returned by the ObjectSourceTableModel. This class also provides the
    heading for the column.<p>

    Hence, the combination of ObjectSourceTableModel and ObjectSourceTableColumn
    provide the row and column values for the table.<p>

    ObjectSourceTableColumn has a number of direct descendents: <p>

    CheckBoxColumn, ComboBoxColumn, DateTimeColumn, IconColumn, NumberColumn,
    ProgressColumn, TextColumn, and TimeIntervalColumn.<p>

    You can see that these columns provide some Swing-like components for JTable
    columns. However, to be useful, these classes must be sub-classed to pick-out
    the correct column value from the object. Instead of creating a new sub-class
    for each column value, you can use the Reflected*Column classes to simplify things.
    These classes
    can be instantiated directly and allow you to specify the object field name
    with a String. This field name will be used for the column's value. The only
    column class which does not have a "Reflected" form is IconColumn. You must
    subclass this class to provide the appropriate icon value for the column.<p>


</BODY>
</HTML>
